The art of cryptanalysis has gradually become more sophisticated over time, and is beginning to pose a serious threat to the security of information. As a consequence, conventional systems for media encryption and decryption that have not progressed equally as fast as cryptanalysis have become more susceptible to security breaches. Security may be threatened at any level in a network, from the encryption, decryption and transfer of data, to the setup of an encryption or decryption scheme, to the applications executing in an emulated environment that make calls to security modules that perform security-related tasks. To combat the advances made by cryptanalysis, improvements in security and performance at every level are necessary.
One example of performance deficiencies is illustrated with reference to applications executing in an emulated environment that access modules in a host operating system through an interface. FIG. 1 is a block diagram illustrating a conventional application executing in a host operating system. An application 110 executes inside an emulated environment 108. To perform certain functions, such as when functions are performed in hardware, the emulated environment 108 accesses modules 104 in the host operating system 102 through an interface 106, including an interface component 106a in the emulated environment 108 and an interface component 106b in the operating system 102. The interface 106 provides translation services and acts as an intermediary between the emulated environment 108 and the modules 104 of the host operating system 102. The interface 106a in the emulated environment 108 communicates with the cooperating interface 106b in the operating system 102. The cooperating interface 106b in the operating system 102 then makes the calls on the modules 104.
Calls from the application 110 to the module 104, such as calls to setup encryption/decryption schemes or to encrypt/decrypt data, are costly in terms of execution speed and memory overhead, because of translation of the data to/from the format needed by the operating system 102 and to actually move the data from the emulated environment 108 to the modules 104. The increased delay and overhead in accessing the modules 104 through the interface 106 with each call can degrade performance of the application 110 within the emulated environment 108 and can cause the application 110 to become vulnerable to advanced security threats. Thus, in addition to improving media encryption/decryption security as discussed above, there is a need to reduce use of the interface 106 to improve performance and security of the application 110.